//////////////////////////////////////////////////////////////////////////////////////////////
///
/// @file Utils.h
/// @brief 
///
/// Declaration of the common utility functions
///
/// @author Abalta Technologies, Inc.
/// @date January, 2007
///
/// @cond Copyright
///
/// COPYRIGHT 2007 "DECARTA INC" ALL RIGHTS RESERVED.<br>
/// This program may not be reproduced, in whole or in part in any form or any means whatsoever
/// without the written permission of "DECARTA INC".
///
/// @endcond
//////////////////////////////////////////////////////////////////////////////////////////////

#pragma once

#ifndef Utils_H
#define Utils_H

//--------------------------------------------------------------------------------------------
//  Includes
//--------------------------------------------------------------------------------------------
#include <set>

//--------------------------------------------------------------------------------------------  
//  Forward declarations
//--------------------------------------------------------------------------------------------

//--------------------------------------------------------------------------------------------  
//  Type definitions
//--------------------------------------------------------------------------------------------

class CUtils
{
public:
  static tstring ExtractFilePath(const tstring& path);
  static tstring ExtractFileName(const tstring& path);
  static tstring ExtractFileNameWithoutExt(const tstring& path);
  static tstring ExtractFileExt(const tstring& path);
  static bool    FileExists(const tstring& path);
  static UINT    getFileSize(const tstring path);
  
  static bool    DirectoryExists(const tstring& path);
  static bool    CreateDirectory(const tstring& path);
  static void 	 DeleteDirectory(const TCHAR* strDir);  //bird

  //static tstring ExpandPath(const tstring& path);
  static bool    DeleteFile(const tstring& path);
  static bool    CompareFileTime(const tstring& file1, const tstring& file2, int& result);
  static bool    HasWildcards(const tstring& path);
  //static bool    GetFileList(const tstring& mask, std::set<tstring>& files);
  static tstring GetTempPath( );
};

#endif  // Utils_H


